The increasing demand for data communications has fostered the development of techniques that provide more cost-effective and efficient means of using communication networks to handle more information and new types of information. One such technique is to segment the information, which may be a voice or data communication, into packets. A packet is typically a group of binary digits, including at least data and control information. Integrated packet networks (typically fast packet networks) are generally used to carry at least two (2) classes of traffic, which may include, for example, continuous bit-rate (“CBR”), speech (“Packet Voice”), data (“Framed Data”), image, and so forth. Packet networks source, sink and/or forward protocol packets. Each packet has a well-defined format and consists of one or more packet headers and some data. The header typically contains information that gives control and/or address information, such as the source and destination of the packet.
Packet header creation typically requires a significant amount of system resources, such as a central processing unit (“CPU”) where a protocal stack is implemented. As a result, the throughput of a communications switch is limited or constrained by the capacity of the CPU within the switch and the other processing functions that the CPU must also provide. Such processing constraints cause congestion and Quality of Service (“QoS”) problems inside the switch. Accordingly, there is a need for a method and apparatus for creating a packet, including the necessary headers, in a digital signal processor instead of a CPU where a protocol stack is implemented.